我想在 Flutter 移动应用中使用 Cloud Logging。另外,我会将 Cloud Logging 与 Firebase 链接起来。
有什么方法可以帮助我在 Flutter 中使用 Cloud Logging?
我有一个应用程序在谷歌云的 Kubernetes 中运行。该应用程序是使用 fastapi 用 python 编写的。来自该应用程序的日志通过谷歌云日志记录可见,但是它们的“服务器性”似乎被错误地翻译:虽然 fastapi 的访问日志正确地以“INFO”严重性写入,但从自定义记录器写入的任何消息都会显示为错误,即使它们是写入的通过logger.info电话。
我通过命令行选项将以下日志记录配置传递给 uvicorn --log-config:
{
"version": 1,
"disable_existing_loggers": false,
"formatters": {
"simple": {
"format": "%(asctime)s - %(name)s - %(levelname)s - %(message)s"
},
"default": {
"()": "uvicorn.logging.DefaultFormatter",
"datefmt": "%Y-%m-%dT%H:%M:%S",
"format": "[%(asctime)s.%(msecs)04dZ] %(name)s %(levelprefix)s %(message).400s"
},
"access": {
"()": "uvicorn.logging.AccessFormatter",
"datefmt": "%Y-%m-%dT%H:%M:%S",
"format": "[%(asctime)s.%(msecs)04dZ] %(name)s %(levelprefix)s %(message)s"
}
},
"handlers": {
"default": {
"formatter": "default",
"class": "logging.StreamHandler",
"stream": "ext://sys.stderr"
},
"access": {
"formatter": "access",
"class": "logging.StreamHandler",
"stream": "ext://sys.stdout"
}
},
"loggers": …Run Code Online (Sandbox Code Playgroud) 我收到通知,不推荐使用 Googles JSON-RPC和全局HTTP批处理终结点.在我的案例中,受影响的api是"storage @ v1"和"Global Batch Endpoints".
我试图找到,在那里发出了被禁止的api电话.但我正在使用24个桶,有几个工具可以访问它.那么有没有办法记录被删除的电话?我启用了桶的日志记录.在执行批处理请求和执行单个请求时,我在访问日志中找不到任何差异.
我正在使用 Cloud Run 和 Cloud Tasks 对 Webhooks 进行一些异步处理。当我收到对 Cloud Run 服务的请求时,我会在 Cloud Tasks 队列中对任务进行排队,并立即从服务返回响应。然后,云任务将再次触发我的服务(不同的端点)并进行一些处理。我想使用相同的跟踪 ID 关联这些步骤中的所有日志,但它不起作用。
在 Cloud Tasks 中创建任务时,我请求它发送X-Cloud-Trace-Context标头,并用原始请求的标头值填充它X-Cloud-Trace-Context。理论上,当请求从 Cloud Tasks 发送到我的 Cloud Run 服务时,它应该具有此标头值,并且我的所有日志都将正确关联。但是,当第二个请求到来时,Cloud Run 似乎正在使用新的跟踪 ID 覆盖标头。
有没有办法防止这种情况发生?如果不是,那么在上述步骤中关联所有日志(由服务代码生成以及 GCP 自动生成的日志)的推荐解决方案是什么?
谢谢您的帮助!
google-cloud-platform google-cloud-trace google-cloud-logging google-cloud-tasks google-cloud-run
我有一个警报,我已将其配置为在已完成状态而不是“错误”或“确定”的云函数的执行总和大于 0(按函数名称分组)时发送电子邮件。
我定义警报的方式是:
二级聚合器是delta。
问题是,一旦警报打开,过滤器看起来就不再重要了,并且警报保持打开状态,因为它看到云功能被触发并以任何状态结束(即使“确定”状态也保持打开状态)只要触发足够了)。
ATM 我能想到的唯一解决方案是定义一个基于日志的指标,该指标将自己计算,然后警报将基于该自定义指标而不是内置指标。
有什么我想念的吗?
编辑:
从上图我们看到图表不会下降到 0 而是保持在 1,这不是其他正常事件的工作方式
google-cloud-platform google-cloud-logging google-cloud-functions google-cloud-monitoring
我想将错误日志/警告日志自动从 GCP 发送到 slack、电子邮件或 Webhook API。
现在我正在使用 Google Cloud/Monitoring/Alerting -> 创建策略。但它只发送有效负载信息,不包括我想要的错误日志详细信息。
这是我通过 webhook API 收到的内容(有效负载信息):

我希望有人可以帮助我找到有关此问题的解决方案或想法。
非常感谢
cloud google-cloud-platform google-cloud-logging google-cloud-functions google-cloud-monitoring
我正在尝试找出有关我的网站上可疑流量的详细信息,该网站在 Google Cloud(更具体地说,带有 Java 的 Google App Engine)上运行。一种想法是分析哪些 IP 地址经常发送请求。在 SQL 中我会做类似的事情
\nSELECT \n protoPayload.ip,\n COUNT(protoPayload.ip) AS `ip_occurrence` \nFROM \n foo /* TODO replace foo with correct table name */ \nWHERE \n protoPayload.ip NOT LIKE \'66.249.77.%\' /* ignore Google bots */\nGROUP BY \n protoPayload.ip\nORDER BY \n `ip_occurrence` DESC\nLIMIT 100\nRun Code Online (Sandbox Code Playgroud)\n但我不知道如何使用日志资源管理器执行此操作。\xe2\x80\x9c Log Analytics \xe2\x80\x9d 似乎允许此类 SQL,但要求仅在非生产项目上使用它。
\n我也尝试从 Logs Explorer 下载日志,但日志数量限制为 10,000 条,根本不够。
\n有什么简单的办法吗?
\n从更大的角度来看,我正在尝试重新开放我的 AdSense 帐户。到目前为止我失败了。也许我提供的证据,我的谷歌分析数据,不够有力。表单上的字段描述提到了 IP 地址。但在 Google Analytics 中我没有看到任何 IP 地址...
\n我有一个运行Go的20个节点的GKE应用程序.我想整合所有日志以在Google Developers Console日志查看器中查看,但我遇到了2个问题.我无法获得严重性过滤,并且我的日志消息中的每个换行都在查看器中启动一个新的日志条目(日志中的换行有问题).
我有google-fluent-d设置,所以所有stdout都记录在云端,我已经使用了log.Lshortfile,调用深度和log.Logger.Output从"log"库中获取文件名和行号.
我看过这个库:"google.golang.org/cloud/logging"但是我无法让它工作.
是否有某个库或在GKE和GCE中写入日志的最佳方法示例?
logging go google-compute-engine google-kubernetes-engine google-cloud-logging
您如何使用正则表达式在新的Cloud Console中搜索Google App Engine日志?
这篇博客文章建议您只需要键入regex:my.*query即可搜索,但是在日志记录控制台中似乎不起作用。当我这样做时,它会自动更正为以下查询text:regex:my.*query。
是否无法使用gcloud logging read命令在终端命令行上查看特定日志的尾部?我正在寻找类似于tail -f标准 Linux 上众所周知的调用的东西。我找不到任何允许它的记录参数。Web 控制台提供了一个播放按钮功能,它正是这样做的,但是当我让它运行超过 10 分钟时,整个选项卡变得没有响应,感觉整个浏览器都会崩溃。
我有一个不错的日志过滤器,我想在我的终端上“观看”它,而不是在 Chrome 浏览器中。但是,该watch命令不会读取 gcloud 命令的输出,它只是在我尝试调用时保留在那里watch -n 30 gcloud logging read ...。
欢迎提出想法和建议。