DbReplicationLag の式は PromQL の or が左辺のサンプル(常に 0)を残すため pg_is_wal_replay_paused の分岐が評価されず、第 1・2 回とも発火しなかった。2 つの bool を加算して clamp する式に直す。api コンテナのメモリが limit の 80% を超えて 2 分続いたときの ApiMemoryPressure(第 2 層)を追加する。C-G2 の StressChaos は size "80%"(ノード基準)で即 OOM になっていたため 200MB に、V-G1 の対象は トラフィックを受けているインスタンス legacy:busy に変更する。slo.md に新ルールを追記。
20 lines
980 B
YAML
20 lines
980 B
YAML
# design 7 V-G1: grey zone, VM. tc netem delay 400ms on one legacy instance; health check passes, /api/price p95 breaks. Correct: mig.recreate_instance after approval.
|
|
id: V-G1
|
|
path: gray
|
|
asset: vm
|
|
expected_layer: 2
|
|
ground_truth_label: network_latency_legacy
|
|
ground_truth_action: mig.recreate_instance
|
|
description: tc qdisc add dev ens4 root netem delay 400ms on the legacy instance that currently serves the api traffic (legacy:busy)
|
|
# 2026-10-08: the ILB hashes the api pods' few keep-alive connections onto one instance; in campaign 2 legacy:0 served 0 rps,
|
|
# so the delay was never on the request path. legacy:busy = the instance with the most legacy-api requests over the last
|
|
# 2 minutes (Mimir); the harness caches the choice per scenario so the revert hits the same instance.
|
|
inject:
|
|
method: ssh
|
|
host: legacy:busy
|
|
command: sudo tc qdisc add dev ens4 root netem delay 400ms
|
|
revert:
|
|
method: ssh
|
|
host: legacy:busy
|
|
command: sudo tc qdisc del dev ens4 root || true
|