标签: stackdriver

gce 容器日志未显示在云日志记录中

我有一个最近在 GCE 上运行的 kubernetes 集群。我正在尝试让我的应用程序登录到 Cloud Logging / Stackdriver。

我可以在那里看到所有 kubernetes 集群日志,但没有容器输出出现。

因此,当我按照本指南操作时:http://kubernetes.io/docs/getting-started-guides/logging/,我可以看到 Pod 的输出

kubectl logs counter
2163: Wed Aug 31 15:02:52 UTC 2016
Run Code Online (Sandbox Code Playgroud)

这永远不会进入日志记录界面

Pod 未显示在选择器中

fluidd-cloud-logging pod 不提供日志输出

kubectl logs --namespace=kube-system fluentd-cloud-logging-staging-minion-group-20hk
Run Code Online (Sandbox Code Playgroud)

/var/log/google-fluidd/google-fluidd.log 文件看起来很高兴

...
2016-08-31 14:07:16 +0000 [info]: following tail of /var/log/containers/node-problem-detector-v0.1-hgtcr_kube-system_POD-07e5b134c9f8ff48f73f1df41473a84a07738ac750840f09938d604694c4bd6e.log
2016-08-31 14:07:16 +0000 [info]: following tail of /var/log/containers/rails-2607986313-s7r5e_default_POD-9f1dd02f23de552a40297f761d09c03b50e5a2cd9789ef498139d24602d9847e.log
2016-08-31 14:07:16 +0000 [info]: following tail of /var/log/salt/minion
2016-08-31 14:07:16 +0000 [info]: following tail of /var/log/startupscript.log
2016-08-31 14:07:16 +0000 [info]: following tail of /var/log/docker.log …
Run Code Online (Sandbox Code Playgroud)

google-compute-engine kubernetes stackdriver

3
推荐指数
1
解决办法
4012
查看次数

Google Cloud Platform:GCP VM 实例上的 Stackdriver Agent 安装和配置错误

我没有关于谷歌云平台 VM 实例监控的堆栈驱动程序监控配置的实践经验。我们对项目的基本监控工作正常,但是在尝试在 Ubuntu 14.04 操作系统中安装 stackdriver 代理时,它给了我们错误,并且带有代理的堆栈驱动程序对我们不起作用。以下是供您参考的错误。

Jan 3 10:43:42 ubuntu-uat01 collectd[2283]: write_gcm: 不成功的 HTTP 请求 403: {#012 "error": {#012 "code": 403,#012
"message": "User is notauthorized访问项目监控记录。",#012 "status": "PERMISSION_DENIED"#012 }#012} Jan 3 10:43:42 ubuntu-uat01 collectd[2283]: write_gcm: Error -2 from wg_curl_get_or_post Jan 3 10:43 :42 ubuntu-uat01 collectd[2283]: write_gcm: wg_transmit_unique_segment 失败。

有人可以帮助我设置安装在服务器上的代理的堆栈驱动程序监控,或者提供一些可用的文档链接。

stackdriver

3
推荐指数
1
解决办法
2945
查看次数

为特定错误消息设置堆栈驱动程序警报

找不到一种干净的方法来设置有关云函数中错误的 Stackdriver 警报通知

我正在使用云功能将数据处理到云数据存储。我希望收到两种类型的错误警报:

  1. 可能导致功能“崩溃”的技术异常
  2. 我们从云功能记录的自定义错误

我做了以下,

  • 创建了一个搜索特定错误的日志指标(尽管这不适用于“崩溃”,因为错误消息每次都可能不同)
  • 使用以下代码部分中的参数在 Stackdriver 监控中为此指标创建警报

这是根据问题的答案完成的, how to create an alert per error in stackdriver

对于条件的第一个触发器,我收到一封电子邮件。但是,在随后的触发器上,可以说在第二天,我没有。事件也处于“打开”状态。

Resource type: cloud function
Metric:from point 2 above
Aggregation: Aligner: count, Reducer: None, Alignment period: 1m
Configuration: Condition triggers if: Any time series violates, Condition: 
is above, Threshold: 0.001, For: 1 min
Run Code Online (Sandbox Code Playgroud)

所以我有3个问题,

  1. 这是满足我创建警报要求的正确方法吗?

  2. 我如何仍能收到后续错误的警报通知?

  3. 如何自动/手动将事件设置为“已解决”?

policy alerts google-cloud-functions stackdriver

3
推荐指数
1
解决办法
1957
查看次数

如何从 python 按时间戳过滤 GCP stackdriver 日志

我正在尝试从 python 模块获取 GCP stackdriver 日志。我可以过滤 request_id 和 user 的日志

但是当我尝试获取两个时间段之间的日志时,它给出了我的错误。

import json
import sys
from google.cloud import logging
from google.cloud.logging import DESCENDING
from google.cloud import bigquery

#stackdriver client object
logging_client = logging.Client()

FILTER="logName:projects/cognitedata-europe-west1-1/logs/stdout AND timestamp>="+sys.argv[3]
results_iterator = logging_client.list_entries(filter_=FILTER,projects=PROJECT_IDS,order_by=DESCENDING,page_size=1000)
Run Code Online (Sandbox Code Playgroud)

我使用以下模式来提供时间。

timestamp:sys.argv[3]
Run Code Online (Sandbox Code Playgroud)
timestamp=sys.argv[3]
Run Code Online (Sandbox Code Playgroud)
timestamp>sys.argv[3]
Run Code Online (Sandbox Code Playgroud)
timestamp>=sys.argv[3]
Run Code Online (Sandbox Code Playgroud)

但注意到解决了我的问题。

我将 sys.argv 3的输入时间设置为“2019-09-28T03:28:04.189Z”

我的要求是从时间戳中过滤数据 在此输入图像描述

但在 GCP 堆栈驱动程序记录器 UI 中,它给出了两者的结果

timestamp:"2019-09-28T03:28:04.189Z"
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

timestamp>="2019-09-28T03:28:04.189Z" AND timestamp<="2019-09-28T03:30:39.189Z" 
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

python google-cloud-platform stackdriver google-cloud-stackdriver

3
推荐指数
1
解决办法
3494
查看次数

Stackdriver 标准输出日志消息严重性

我使用的是 GCP 上不受支持的语言。

Stackdriver 日志记录很棒,它收集了我的标准输出日志,这是最出色的。

但我似乎无法设定严重性。

所有文档页面似乎都围绕发送整个日志。

我想知道将消息发送到标准输出时需要是什么样子,以便它了解严重性。一个例子将是惊人的。

stdout google-cloud-platform stackdriver

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

监控 GKE 节点中 CPU 和内存的百分比

我想使用 Stackdriver 监控来监视我的 GKE 节点的 CPU/mem % 使用率。

但是,在浏览 Stackdriver Monitoring UI 时,似乎没有任何此类选项可用(就百分比而言)。

另一方面,对于(似乎是)绝对内存使用,似乎有 2 个极其相似的指标(它们的描述是相同的)。(附截图)。

有没有人知道如何提供 GKE 节点上使用的内存和 CPU 的百分比?(不是容器)

在此处输入图片说明

在此处输入图片说明

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

3
推荐指数
1
解决办法
1183
查看次数

使用 gcloud 创建 Stackdriver 警报政策?(无需从文件加载)

所以我设置了一个通知通道:

gcloud alpha monitoring channels create \
    --description='test notification' \
    --display-name='test_channel' \
    --type=email \
    --channel-labels=email_address=example@gmail.com
Run Code Online (Sandbox Code Playgroud)

但我似乎无法获得与命令行一起使用的警报策略(尝试避免使用从文件加载,因为我需要使用模板)。看起来这应该有效:

gcloud alpha monitoring policies create \
    --notification-channels=test_channel \
    --aggregation='{"alignmentPeriod": "60s","perSeriesAligner": "ALIGN_MEAN"}' \
    --condition-display-name='CPU Utilization >0.80 for 10m'\
    --condition-filter='metric.type="appengine.googleapis.com/flex/instance/cpu/utilization" resource.type="gae_instance"' \
    --duration='1min' \
    --if='> 0.80' \
    --display-name='test alert'
Run Code Online (Sandbox Code Playgroud)

但它返回:

[--aggregation] 的值无效:仅当还指定了 --condition-filter 时才应指定。

但是,正如您所看到的,上面有一个--condition-filter标志。我尝试重新排序它,使其--condition-filter出现在 之前--aggregation,但这会导致持续时间错误,尽管它已经与文档匹配,并且像=60s、那样的轻微编辑=1min或在 中 的时间附近添加引号--aggregation似乎没有帮助:

gcloud alpha monitoring policies create \
    --notification-channels=test_channel \
    --condition-filter='metric.type=appengine.googleapis.com/flex/instance/cpu/utilization resource.type=gae_instance' \
    --aggregation='{"alignmentPeriod": "20s","perSeriesAligner": "ALIGN_MEAN"}' …
Run Code Online (Sandbox Code Playgroud)

google-cloud-platform gcloud stackdriver

3
推荐指数
1
解决办法
2141
查看次数

GCP:当警报触发时是否可以触发云功能?

我正在使用 Google Cloud Platform 的 Google Cloud Monitoring。

我为我监控的对象创建了一些警报策略。但是,当有警报触发时,我希望将一些未包含的信息包含在电子邮件中。所以我想使用一个云函数,如果在这种情况下可以做到的话,它将触发我创建的策略之一。

如果可能,请提供有关此问题的建议。

python-3.x google-cloud-platform google-cloud-functions stackdriver google-cloud-monitoring

3
推荐指数
1
解决办法
497
查看次数

如何将Stackdriver日志导入BigQuery

有没有办法将应用引擎中的日志加载到Google Cloud Platform上的BigQuery?

我正在尝试使用联合查询来加载云存储中的Stackdriver日志文件.但是BigQuery无法加载Stackdriver编写的一些字段名称.

日志文件是换行符分隔的JSON,其记录看起来像

{  
   "insertId":"j594356785jpk",
   "labels":{  
      "appengine.googleapis.com/instance_name":"aef-my-instance-20180204t220251-x59f",
      "compute.googleapis.com/resource_id":"99999999999999999",
      "compute.googleapis.com/resource_name":"c3453465db",
      "compute.googleapis.com/zone":"us-central1-f"
   },
   "logName":"projects/my-project/logs/appengine.googleapis.com%2Fstdout",
   "receiveTimestamp":"2018-02-08T02:59:59.972739505Z",
   "resource":{  
      "labels":{  
         "module_id":"my-instance",
         "project_id":"my-project",
         "version_id":"20180204t220251"
      },
      "type":"gae_app"
   },
   "textPayload":"{\"json\":\"blob\"}\n",
   "timestamp":"2018-02-08T02:59:54Z"
}
Run Code Online (Sandbox Code Playgroud)

但BigQuery在此输入上返回错误: query: Invalid field name "compute.googleapis.com/zone". Fields must contain only letters, numbers, and underscores, start with a letter or underscore, and be at most 128 characters long.

有没有办法将这种日志摄入BigQuery?

我特别感兴趣的是只提取textPayload字段.

google-app-engine etl google-bigquery google-cloud-platform stackdriver

2
推荐指数
1
解决办法
1421
查看次数

Google Cloud Profiling如何通过分析来优化我的代码?

我正在尝试分析Google CLoud Stackdriver's Profiling,现在任何人都可以请告诉我如何使用此优化我的代码.

另外,我看不到任何我的函数名称和所有,我不知道这是什么_tickCallback以及它执行的代码的哪一部分?

任何人都请帮助我.

剖析

google-app-engine node.js google-cloud-platform stackdriver google-cloud-profiler

2
推荐指数
1
解决办法
209
查看次数