1

设置

注意:使用伪代码实例表示法:ObjectType("<name>", | <attr>: <attr-value>]).

我们有一个容器: Container("k8s-snapshots")Pod("k8s-snapshots-0")一个 `StatefulSet("k8s-snapshots", spec.replicas: 1)

我们预计在任何时间点最多运行 1 个 Pod。

我们有一个基于日志Counter Metric("k8s-snapshots/snapshot-created")的过滤器:

resource.type="container"
resource.labels.cluster_name="my-cluster"
logName="projects/my-project/logs/k8s-snapshots"
jsonPayload.event:"snapshot.created"

我们有一个 Stackdriver 政策:

Policy(
  Name: "snapshot metric absent",
  Condition: Condition(
    Metric("k8s-snapshots/snapshot-created"),
    is absent for: "more than 30 minutes"
  )
)

为了监控是否Container("k8s-snapshots")已停止创建快照。

预期结果

如果没有任何实例Pod("k8s-snapshots-0")记录任何匹配的事件,则会触发警报Metric("k8s-snapshots/snapshot-created")

结果

Policy(Name: "snapshot metric absent")每次都Pod("k8s-snapshots-0")被重新安排。

似乎为每个实例创建了基于日志的主要指标的子指标Pod("k8s-snapshots"),并为每个子指标创建了 Stackdriver 警报。

4

1 回答 1

0

你还在遇到这个问题吗?使用Stackdriver API,您可以聚合 UI 直到现在还没有的指标(您可以拥有自定义指标)。您也可以访问此链接

于 2018-01-19T21:51:57.623 回答