Configuration
Remarque: En utilisant la notation de l'instance pseudo-code:
ObjectType("<name>", | <attr>: <attr-value>])
.Alerte d'absence métrique des mesures basées sur les journaux de Pod-Pod Replanifier Déclenchée
Nous avons un conteneur: Container("k8s-snapshots")
dans un Pod("k8s-snapshots-0")
dans un `StatefulSet ("K8S-instantanés", spec.replicas: 1)
Nous nous attendons au plus 1 Pod de fonctionner à tout moment temps.
Nous avons une base de journaux-Counter
Metric("k8s-snapshots/snapshot-created")
avec le filtre:
resource.type="container"
resource.labels.cluster_name="my-cluster"
logName="projects/my-project/logs/k8s-snapshots"
jsonPayload.event:"snapshot.created"
Nous avons une politique Stackdriver:
Policy(
Name: "snapshot metric absent",
Condition: Condition(
Metric("k8s-snapshots/snapshot-created"),
is absent for: "more than 30 minutes"
)
)
Afin de surveiller si Container("k8s-snapshots")
a cessé de créer des instantanés.
Résultat attendu
Une alerte est déclenchée si aucune instance de Pod("k8s-snapshots-0")
a connecté tout événement correspondant à Metric("k8s-snapshots/snapshot-created")
.
Résultat
Policy(Name: "snapshot metric absent")
est violée chaque fois Pod("k8s-snapshots-0")
est reprogrammé.
Il semble qu'une sous-métrique de la métrique basée sur les journaux principaux soit créée pour chaque instance de Pod("k8s-snapshots")
et des alertes Stackdriver pour chaque sous-métrique.