我试图弄清楚是否可以使用 log4j appender 在我的 google 容器引擎应用程序中输出消息(日志行),以便它们可以由运行该框的 google 云日志代理正确处理。
是否有记录日志格式的地方或类似的地方。
我希望能够在Google Cloud Log查看器中查看客户端错误.是否可以从AngularJS应用程序创建日志条目,如果是这样的话?
我无法验证gcplogsDocker 的谷歌云驱动程序,尽管我已将env var设置GOOGLE_APPLICATION_CREDENTIALS为我的服务帐户的JSON凭据所在的路径/文件.错误消息如下:
ERROR: for oncrm_oncrm_1 Cannot start service oncrm: failed to initialize logging driver: google.DefaultTokenSource: google: could not find default credentials. See https://developers.google.com/accounts/docs/application-default-credentials for more information.
Run Code Online (Sandbox Code Playgroud)
我在docker-compose上使用的配置是:
logging:
driver: gcplogs
options:
gcp-project: "gcloud-project-id"
gcp-meta-name: "prod-helpsec-01"
labels: "app"
Run Code Online (Sandbox Code Playgroud)
我正在尝试运行docker容器的环境是:
docker-ce v18.03docker-compose v1.21.0Ubuntu 17.10在Google App Engine灵活环境中,许多日志正在跳过,并且没有显示在日志记录控制台中,并且它始终发生,我正在Stackdriver LoggingGoogle Cloud仪表板上的部分进行检查,我正在使用console.log()的mongoose日志被跳过,但查询日志是打印.
此外,现在有时我的日志有时会console.logs显示,但有时不会显示,但之前它们每次都会显示.为什么现在每次都不工作?
任何人都可以告诉我为什么会这样?
谢谢
编辑 -
我已经添加了调试点,但事情是我的调试点被执行了,但是如何在日志中找不到它们?
此外,我在计算引擎上使用相同的代码,但是日志中的所有日志都已打印,但在某些情况下,在App Engine中,它们缺少eveytime?
google-app-engine node.js google-cloud-platform google-cloud-logging stackdriver
我每分钟都在运行一个云功能。
空行(请参阅下面的日志)间歇性地出现在 Stackdriver 日志中。
我不相信这是由于我编写的函数代码。
可以使用这个 main.py 重新创建错误:
import logging
logger = logging.getLogger(__name__)
logger.setLevel(logging.INFO)
logger.info(f"Logging {__name__}")
def main(event, context):
logger.info("Message 1")
logger.info("Message 2")
logger.info("Message 3")
Run Code Online (Sandbox Code Playgroud)
当 Cloud Scheduler 每分钟触发一次时,此函数会在几个小时内发出空行。
如何防止这个问题?
更新:添加了两个扩展日志
{
insertId: "000001-redacted-but-identical"
labels: {
execution_id: "894004659398898"
}
logName: "projects/redacted/logs/cloudfunctions.googleapis.com%2Fcloud-functions"
receiveTimestamp: "2019-12-13T23:05:01.545007423Z"
resource: {
labels: {
function_name: "recreate_blank_lines"
project_id: "redacted"
region: "us-central1"
}
type: "cloud_function"
}
severity: "INFO"
timestamp: "2019-12-13T23:05:00.344Z"
trace: "projects/redacted/traces/c4ed0267fd9fa4bf9133043bdfe5b1e0"
}
{
insertId: "000000-redacted-but-identical"
labels: {
execution_id: "894004659398898"
}
logName: "projects/redacted/logs/cloudfunctions.googleapis.com%2Fcloud-functions"
receiveTimestamp: "2019-12-13T23:05:01.545007423Z"
resource: {
labels: …Run Code Online (Sandbox Code Playgroud) python python-3.x google-cloud-logging google-cloud-functions
我正在使用Cloud Dataproc运行PySpark作业,并希望使用loggingPython模块记录信息.目标是将这些日志推送到Cloud Logging.
从这个问题,我了解到我可以通过向流畅的配置添加日志文件来实现这一点,该配置位于/etc/google-fluentd/google-fluentd.conf.
但是,当我查看日志文件时/var/log,我找不到包含我的日志的文件.我已经尝试使用默认的python记录器和'py4j'记录器.
logger = logging.getLogger()
logger = logging.getLogger('py4j')
Run Code Online (Sandbox Code Playgroud)
任何人都可以了解我应该使用哪个记录器,以及应该将哪个文件添加到流畅的配置中?
谢谢
apache-spark pyspark google-cloud-logging google-cloud-dataproc
有没有办法将计划查询通知电子邮件更新为自定义内容?
默认情况下,它是创建者的电子邮件,但是,这通常是没有真正电子邮件收件人的服务帐户。
例如,通过 terraform 配置,我们将拥有一个服务帐户。我们希望将电子邮件通知目标从 SA 更新为支持电子邮件,以便更正确地路由故障?
我已经检查了文档,我可能会错过它,但这似乎不是一个选项,除非我通过 CLI 错过了一些东西?
谢谢!
google-bigquery google-cloud-platform google-cloud-logging google-cloud-monitoring google-cloud-metrics
我尝试让 Cloud Logging 按 Cloud Logs Explorer 中的请求捆绑(即分组)日志条目,类似于 node-js-logging-winston 在 Cloud Functions Node 运行时上所做的操作:https: //github.com/ googleapis/nodejs-logging-winston#using-as-an-express-middleware 这也是 App Engine 自动执行的操作。
以下博客中提供了如何使用 Python 和 Flask 完成此操作的一般说明: https://medium.com/google-cloud/combining-corlated-log-lines-in-google-stackdriver-dd23284aeb29
这是日志资源管理器中的屏幕截图。
这是一个应该执行此操作的脚本,但条目未按请求分组。
import argparse
import datetime
import time
import uuid
from google.cloud import logging
def _log_timestamp():
return datetime.datetime.now(datetime.timezone.utc)
def _log_trace_id():
return uuid.uuid4().hex
def _log_request_time(request_start_time):
return "%.5fs" % (time.time() - request_start_time)
def run(project_id):
request_start_time = time.time()
trace_id = _log_trace_id()
client = logging.Client(project=project_id)
app_logger = client.logger('child')
app_logger.log_struct(
{"message": 'app log entry # 1'},
severity='INFO',
trace=f'projects/{project_id}/traces/{trace_id}',
timestamp=_log_timestamp() …Run Code Online (Sandbox Code Playgroud) 我已经在Cloud Logging UI中创建了2个用户定义的指标。这些指标显示在Cloud Monitoring中,但是它们的图形永久显示为“未找到图形数据”。是否有任何步骤可以解决此问题,或者是否有其他要求才能使用户定义的日志指标中的数据在Cloud Monitoring中可见?
google-compute-engine google-cloud-platform google-cloud-logging stackdriver google-cloud-monitoring
我在Compute实例的StackDriver日志记录中看到错误。日志每小时都会显示重复的问题,从而产生很大的噪音。我使用最新的稳定版Container OS在容器中将Spring Boot API部署到Compute Engine中的VM。
我是GCP的新手,不了解是什么原因导致了此问题,到目前为止,搜索一直空着。
Failed to call method: org.chromium.SessionManagerInterface.RetrieveActiveSessions: object_path= /org/chromium/SessionManager: org.freedesktop.DBus.Error.ServiceUnknown: The name org.chromium.SessionManager was not provided by any .service files
Run Code Online (Sandbox Code Playgroud)
CallMethodAndBlockWithTimeout(...): Domain=dbus, Code=org.freedesktop.DBus.Error.ServiceUnknown, Message=The name org.chromium.SessionManager was not provided by any .service file
Run Code Online (Sandbox Code Playgroud)
Error calling D-Bus proxy call to interface '/org/chromium/SessionManager': The name org.chromium.SessionManager was not provided by any .service files
Run Code Online (Sandbox Code Playgroud)
同样的3条线每小时重复一次。是否有人知道可能是什么原因或如何解决/抑制这些问题?
google-compute-engine google-cloud-platform google-cloud-logging google-cloud-stackdriver
stackdriver ×3
angularjs ×1
apache-spark ×1
docker ×1
java ×1
node.js ×1
pyspark ×1
python ×1
python-3.x ×1